package com.wxtt.android.config;

import android.text.TextUtils;

import com.fast.dev.frame.utils.SPUtils;
import com.wxtt.android.BaseApplication;
import com.wxtt.android.bean.UserBean;

/**
 * 说明：SharedPreferences管理工具（提供保存，读取方法）
 * <p/>
 * 作者：fanly
 * <p/>
 * 时间：2016/1/4 13:52
 * <p/>
 * 版本：verson 1.0
 */
public final class SpConfig {

    private static SPUtils sp = SPUtils.getInstance(SpKey.fileName);

    /**
     * 说明：禁止实例化
     */
    private SpConfig(){

    }

    /**
     * 说明：保存所有SP字段
     */
    interface SpKey{
        String fileName = "wxtt";
        //开启WIFI升级
        String app_wifi_update = "isWifiUpdate";
        //开启推送
        String app_push_state = "appPushState";
        //首页欢迎内容
        String welcome_text = "welcomeText";
        //是否登录
        String is_login = "islogin";
        //用户信息
        String user_info = "userinfo";
    }

    /**
     * 说明：设置wifi下升级
     * @param value
     */
    public static void setWifiUpdate(boolean value){
        sp.write(SpKey.app_wifi_update,value);
    }

    /**
     * 说明：获取wifi下升级设置
     * @return
     */
    public static boolean isWifiUpdate(){
        return sp.readBoolean(SpKey.app_wifi_update,false);
    }

    /**
     * 说明：设置是否开启推送
     * @param value
     */
    public static void setPushState(boolean value){
        sp.write(SpKey.app_push_state,value);
    }

    /**
     * 说明：获取是否开启推送
     * @return
     */
    public static boolean isPushState(){
        return sp.readBoolean(SpKey.app_push_state,true);
    }

    /**
     * 说明：设置首页欢迎内容
     * @param text
     */
    public static void setWelcomeText(String text){
        sp.write(SpKey.welcome_text,text);
    }

    /**
     * 说明：获取首页欢迎内容
     * @param def
     * @return
     */
    public static String getWelcomeText(String def){
        return sp.readString(SpKey.welcome_text,def);
    }

    /**
     * 说明：设置登录状态
     * @param isLogin
     */
    public static void setLoginState(boolean isLogin){
        sp.write(SpKey.is_login,isLogin);
    }

    /**
     * 说明：获取登录状态
     * @return
     */
    public static boolean isLogin(){
        return sp.readBoolean(SpKey.is_login,false);
    }

    /**
     * 说明：获取用户信息
     * @return
     */
    public static UserBean getUserBean(){
        String userinfo = sp.readString(SpKey.user_info,"");
        if (TextUtils.isEmpty(userinfo)){
            return null;
        }else {
            return new UserBean().toBean(userinfo);
        }
    }

    /**
     * 说明：设置用户信息
     * @param userInfo
     */
    public static void setUserInfo(String userInfo){
        sp.write(SpKey.user_info,userInfo);
    }
}
